#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''
列表生成式
要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11))：

>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

'''

l=[x*x for x in range(1,11)]
m=[x*x for x in range(1,11) if x%2==0]
n=[x*x for x in range(1,11) if x%2==1]

p=[x+y for x in 'ABC' for y in 'XYZ']

import os
# os.listdir可以列出文件和目录
x=[d for d in os.listdir('.')]

# for循环其实可以同时使用两个甚至多个变量，
# 比如dict的items()可以同时迭代key和value：
d={'x':'A', 'y':'B', 'z':'C'}
for k,v in d.items():
    print(k, '=', v)
    
# 列表生成式也可以使用两个变量来生成list：
q=[k+'='+v for k,v in d.items()]

#
L1 = ['Hello', 'World', 18, 'Apple', None]
t = [x.lower() for x in L1 if isinstance(x, str)]
print(L1, t)